<!DOCTYPE html>
<html lang="en">
<head xmlns:th="http://www.thymeleaf.org">
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <script src="/js/jquery-3.7.1.min.js"></script>
    <link rel="stylesheet" href="/plugins/bootstraptable/bootstrap-table.min.css">



</head>
<body>
<div class="container-fluid">
    这就是最基本的页面！

    <!-- Button trigger modal -->
    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal" onclick="preAdd();">
        新增学生
    </button>

    <div class="row">
        <div class="col-md-6">
            <input type="text" class="form-control" id="searchName" placeholder="请输入姓名">
        </div>
        <div class="col-md-6">
            <button type="button" class="btn btn-primary" onclick="searchByName();">查询</button>
        </div>
    </div>

    <table class="table table-bordered" id="stuTable">
        <!--<thead>
        <tr>
            <th>#</th>
            <th>姓名</th>
            <th>性别</th>
            <th>成绩</th>
            <th style="width: 100px;">操作</th>
        </tr>
        </thead>
        <tbody id="studentTb">

        <tr data-th-each="student:${data}">
            <th scope="row" data-th-text="${student.id}">1</th>
            <td data-th-text="${student.name}">Mark</td>
            <td>
                <span th:if="${student.sex == 0}">未知</span>
                <span th:if="${student.sex == 1}">男</span>
                <span th:if="${student.sex == 2}">女</span>
            </td>
            <td data-th-text="${student.score}">@mdo</td>
        </tr>

        </tbody>-->
    </table>

</div>

<div class="modal fade" tabindex="-1" role="dialog" id="myModal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">学生信息</h4>
            </div>
            <div class="modal-body">

                <form id="formStudent">

                    <input hidden="hidden" id="id" name="id"/>
                    <div class="form-group">
                        <label for="name">姓名</label>
                        <input type="text" class="form-control" id="name" name="name" placeholder="姓名">
                    </div>
                    <div class="form-group">
                        <label for="password">密码</label>
                        <input type="password" class="form-control" id="password" name="password" placeholder="密码">
                    </div>
                    <div class="form-group">
                        <label for="sex">性别</label>
                        <select class="form-control" id="sex" name="sex">
                            <option value="1">男</option>
                            <option value="2">女</option>
                        </select>
                    </div>

                    <div class="form-group">
                        <label for="score">成绩</label>
                        <input type="text" class="form-control" id="score" name="score" placeholder="成绩">
                    </div>
                </form>
                <!--表单结束-->

            </div>
            <div class="modal-footer">

                <button type="button" class="btn btn-primary" onclick="saveStudent();">保存</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->


<script src="/js/bootstrap.min.js"></script>
<script src="/plugins/bootstraptable/bootstrap-table.min.js"></script>
<script src="/plugins/bootstraptable/locale/bootstrap-table-zh-CN.min.js"></script>



<script type="text/javascript">
    // 定义函数将数字转换为性别字符串
    function getGenderString(gender) {
        if (gender === 0) {
            return "未知";
        } else if (gender === 1) {
            return "男";
        } else if (gender === 2) {
            return "女";
        } else {
            return "";
        }
    }

    function loadTable(){

        $('#stuTable').bootstrapTable('destroy'); // 先销毁表格

        $('#stuTable').bootstrapTable({

            url: '/webapi/student/getbypage',
            striped:true,//是否由隔行变色效果
            pagination:true,//是否分页
            singleSelect: false,//设置为true将禁止多选
            pageSize:3,//每页的数据跳条数
            pageNumber:1,//如果设置了分页，首页的页码
            sidePagination: "server",//设置在哪里进行分页，可选为client或server
            queryParams:function (params) {
                var paraObj={
                    size: params.limit,
                    page:params.offset/params.limit,
                    sort:'id',
                    direct:'desc',

                };

                return paraObj;

            },
            columns: [{
                field: 'id',
                title: '序号'
            }, {
                field: 'name',
                title: '姓名'
            }, {
                field: 'sex',
                title: '性别'
            }, {
                field: 'score',
                title: '成绩'
            },]
        })
        /*
        $.ajax({
            url: '/webapi/student/list'
        }).done(function (rs){
            var len=rs.length;
            var html="";
            for (var i=0;i<len;i++){
                var item=rs[i];
                html+="<tr>"
                    +"<td>"+item.id+"</td>"
                    +"<td>"+item.name+"</td>"
                    +"<td>"+getGenderString(item.sex)+"</td>"
                    +"<td>"+item.score+"</td>"
                    +"<td> <a href='#' onclick='editStudent("+item.id+");'>编辑</a>&nbsp&nbsp&nbsp&nbsp<a href='#' onclick='deleteStudent("+
                    item.id+")'>删除</a> </td>"

                    +"</tr>"
            }
            $("#studentTb").html(html);
        })
        */
    }

    //新增或更新
    function saveStudent() {

        var data=$("#formStudent").serialize();

        var id=$("#id").val();
        if (id<1){
            //新增
            $.ajax({

                url: "/webapi/student/insert",
                method:"post",

                data:data


            }).done(function (){

                loadTable();

                $("#myModal").modal("hide");

            })
        }else{
            //更新
            $.ajax({

                url: "/webapi/student/update",
                method:"put",

                data:data


            }).done(function (){

                loadTable();

                $("#myModal").modal("hide");

            })
        }

    }

    function editStudent(id) {

        $("#myModal").modal("show");

        $.ajax({
            url:"/webapi/student/get/"+id
        }).done(function (rs) {

            $("#id").val(rs.id);
            $("#name").val(rs.name);
            $("#password").val("");
            $("#sex").val(rs.sex);
            $("#score").val(rs.score);

        })

    }

    function preAdd() {

        $("#id").val(0);//提示新增

    }

    function deleteStudent(id) {

        if (confirm("确认是否删除")){
            $.ajax({

                url:"/webapi/student/delete/"+id,
                method:"delete"
            }).done(function () {

                loadTable();

            });
        }

    }

    function searchByName() {
        var name = $("#searchName").val();
        if (name !== "") {
            $.ajax({
                url: "/webapi/student/getbyname/" + name
            }).done(function (rs) {
                if (rs !== null) {
                    $('#stuTable').bootstrapTable('load', rs.rows);
                } else {
                    $('#stuTable').bootstrapTable('removeAll');
                }
            });
        } else {
            loadTable();
        }
    }



    $(function () {

        loadTable();
    })
</script>
</body>
</html>